package com.zhiche.lisa.bms.dao.model.price;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 支付扣点设置
 * </p>
 *
 * @author zhangkun
 * @since 2018-09-20
 */
@TableName("lisa_price_deduct_rate")
public class PriceDeductRate extends Model<PriceDeductRate> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键值
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 承运商Id
     */
    @TableField("lsp_id")
    private Long lspId;
    /**
     * 承运商名称
     */
    @TableField("lsp_name")
    private String lspName;
    /**
     * 车队ID
     */
    @TableField("fleet_id")
    private Long fleetId;
    /**
     * 车队名称
     */
    @TableField("fleet_name")
    private String fleetName;
    /**
     * 车队类型
     */
    @TableField("fleet_type_id")
    private Long fleetTypeId;
    /**
     * 车队类型名称
     */
    @TableField("fleet_type_name")
    private String fleetTypeName;
    /**
     * 扣点系数
     */
    private BigDecimal rate;
    /**
     * 主体类型，10 承运商 20 车队
     */
    @TableField("subject_type")
    private String subjectType;
    /**
     * 生效日期
     */
    @TableField("effective_date")
    private Date effectiveDate;
    /**
     * 失效日期
     */
    @TableField("invalid_date")
    private Date invalidDate;
    @TableField("gmt_create")
    private Date gmtCreate;
    @TableField("gmt_modify")
    private Date gmtModify;
    /**
     * 创建者账号
     */
    private Long creator;
    /**
     * 拥有者账号
     */
    private Long proprietor;
    /**
     * 租户
     */
    @TableField("tenant_id")
    private Long tenantId;
    /**
     * 支付方式：0、中联标准价 1、一口价
     */
    @TableField("pay_way")
    private Integer payWay;
    /**
     * 支付方式生效日期
     */
    @TableField("pay_effective_date")
    private Date payEffectiveDate;
    /**
     * 支付方式失效日期
     */
    @TableField("pay_invalid_date")
    private Date payInvalidDate;
    /**
     * 标准件支付系数
     */
    @TableField("pay_rate")
    private BigDecimal payRate;
    /**
     * 油卡支付预付比例
     */
    @TableField("oil_prepay_rate")
    private BigDecimal oilPrepayRate;
    /**
     * 油卡支付尾款比例
     */
    @TableField("oil_finalpay_rate")
    private BigDecimal oilFinalpayRate;
    /**
     * 现金支付预付比例
     */
    @TableField("cash_prepay_rate")
    private BigDecimal cashPrepayRate;
    /**
     * 现金支付尾款比例
     */
    @TableField("cash_finalpay_rate")
    private BigDecimal cashFinalpayRate;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getLspId() {
        return lspId;
    }

    public void setLspId(Long lspId) {
        this.lspId = lspId;
    }

    public String getLspName() {
        return lspName;
    }

    public void setLspName(String lspName) {
        this.lspName = lspName;
    }

    public Long getFleetId() {
        return fleetId;
    }

    public void setFleetId(Long fleetId) {
        this.fleetId = fleetId;
    }

    public String getFleetName() {
        return fleetName;
    }

    public void setFleetName(String fleetName) {
        this.fleetName = fleetName;
    }

    public Long getFleetTypeId() {
        return fleetTypeId;
    }

    public void setFleetTypeId(Long fleetTypeId) {
        this.fleetTypeId = fleetTypeId;
    }

    public String getFleetTypeName() {
        return fleetTypeName;
    }

    public void setFleetTypeName(String fleetTypeName) {
        this.fleetTypeName = fleetTypeName;
    }

    public BigDecimal getRate() {
        return rate;
    }

    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    public String getSubjectType() {
        return subjectType;
    }

    public void setSubjectType(String subjectType) {
        this.subjectType = subjectType;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public Date getInvalidDate() {
        return invalidDate;
    }

    public void setInvalidDate(Date invalidDate) {
        this.invalidDate = invalidDate;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public Long getCreator() {
        return creator;
    }

    public void setCreator(Long creator) {
        this.creator = creator;
    }

    public Long getProprietor() {
        return proprietor;
    }

    public void setProprietor(Long proprietor) {
        this.proprietor = proprietor;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public Date getPayEffectiveDate() {
        return payEffectiveDate;
    }

    public void setPayEffectiveDate(Date payEffectiveDate) {
        this.payEffectiveDate = payEffectiveDate;
    }

    public Date getPayInvalidDate() {
        return payInvalidDate;
    }

    public void setPayInvalidDate(Date payInvalidDate) {
        this.payInvalidDate = payInvalidDate;
    }

    public BigDecimal getPayRate() {
        return payRate;
    }

    public void setPayRate(BigDecimal payRate) {
        this.payRate = payRate;
    }

    public BigDecimal getOilPrepayRate() {
        return oilPrepayRate;
    }

    public void setOilPrepayRate(BigDecimal oilPrepayRate) {
        this.oilPrepayRate = oilPrepayRate;
    }

    public BigDecimal getOilFinalpayRate() {
        return oilFinalpayRate;
    }

    public void setOilFinalpayRate(BigDecimal oilFinalpayRate) {
        this.oilFinalpayRate = oilFinalpayRate;
    }

    public BigDecimal getCashPrepayRate() {
        return cashPrepayRate;
    }

    public void setCashPrepayRate(BigDecimal cashPrepayRate) {
        this.cashPrepayRate = cashPrepayRate;
    }

    public BigDecimal getCashFinalpayRate() {
        return cashFinalpayRate;
    }

    public void setCashFinalpayRate(BigDecimal cashFinalpayRate) {
        this.cashFinalpayRate = cashFinalpayRate;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
